/*
 * GoStraightAction.h
 *
 *  Created on: 13/mag/2014
 *      Author: va2013
 */

#ifndef GoStraightAction_H_
#define GoStraightAction_H_
#include <Aria.h>
#include <iostream>
class GoStraightAction : public ArAction{
private:
	uint16_t distanceToCurve;
	uint16_t distance;
	ArActionDesired myDesired;
	bool* mustCurve;
	int maxVel;
	double startingOdometer;
	bool completedDistance;
	ArRobot* robot;
	bool* emergencyStop;
public:
	GoStraightAction(ArRobot* robot, int maxVelocity, bool* mustCurve, uint16_t distanceToCurve,bool* emergencyStop);
	virtual ~GoStraightAction();
	ArActionDesired* fire(ArActionDesired currentDesired);
	bool haveAchievedDistance();
	void setDistance(uint16_t distanceInMm);
};

#endif /* GoStraightAction_H_ */
